/*
 * Copyright 2008 Federal Emergency Management Agency
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    http://www.apache.org/licenses/LICENSE-2.0 
 *    
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 *  
 */
package gov.fema.hazus.bdc.shared.entity;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class AEBMResults implements Serializable {

	@Id Long id;
	private static final long serialVersionUID = 4200501658020580649L;

	private String number;
    private double requiresMedicalAttentionDaytime;
    private double requiresHospitalizationDaytime;
    private double lifeThreateningInjuriesDaytime;
    private double deathsDaytime;
    private double requiresMedicalAttentionNighttime;
    private double requiresHospitalizationNighttime;
    private double lifeThreateningInjuriesNighttime;
    private double deathsNighttime;
    private double structuralPercentDamageNone;
    private double structuralPercentDamageSlight;
    private double structuralPercentDamageModerate;
    private double structuralPercentDamageExtensive;
    private double structuralPercentDamageComplete;
    private double nonStructuralPercentDamageNone;
    private double nonStructuralPercentDamageSlight;
    private double nonStructuralPercentDamageModerate;
    private double nonStructuralPercentDamageExtensive;
    private double nonStructuralPercentDamageComplete;
    private double structuralLoss;
    private double nonStructuralLoss;
    private double contentsLoss;
    private double businessIncomeLoss;
    private double wagesLoss;
    private double totalEconomicLoss;
    private double daytimeOccupants;
    private double nighttimeOccupants;
    private double buildingArea;
    private double buildingValue;
    private double contentsValue;
    private double relocationCosts;
    private double wagesPaid;
    private double rentalCosts;
    private double totalBuildingLoss;
    private double businessIncome;
    private double businessInterruption;
    private double businessRelatedLoss;
    
    
    public AEBMResults()
    {
        
    }

    /**
     * @return the number
     */
    public String getNumber() {
        return number;
    }

    /**
     * @param number the number to set
     */
    public void setNumber(String number) {
        this.number = number;
    }

    /**
     * @return the deathsDaytime
     */
    public double getDeathsDaytime() {
        return deathsDaytime;
    }

    /**
     * @param deathsDaytime the deathsDaytime to set
     */
    public void setDeathsDaytime(double deathsDayTime) {
        this.deathsDaytime = deathsDayTime;
    }

    /**
     * @return the lifeThreateningInjuriesDaytime
     */
    public double getLifeThreateningInjuriesDaytime() {
        return lifeThreateningInjuriesDaytime;
    }

    /**
     * @param lifeThreateningInjuriesDaytime the lifeThreateningInjuriesDaytime to set
     */
    public void setLifeThreateningInjuriesDaytime(
            double lifeThreateningInjuriesDayTime) {
        this.lifeThreateningInjuriesDaytime = lifeThreateningInjuriesDayTime;
    }

    /**
     * @return the requiresHospitalizationDaytime
     */
    public double getRequiresHospitalizationDaytime() {
        return requiresHospitalizationDaytime;
    }

    /**
     * @param requiresHospitalizationDaytime the requiresHospitalizationDaytime to set
     */
    public void setRequiresHospitalizationDaytime(
            double requiresHospitalizationDayTime) {
        this.requiresHospitalizationDaytime = requiresHospitalizationDayTime;
    }

    /**
     * @return the requiresMedicalAttentionDaytime
     */
    public double getRequiresMedicalAttentionDaytime() {
        return requiresMedicalAttentionDaytime;
    }

    /**
     * @param requiresMedicalAttentionDaytime the requiresMedicalAttentionDaytime to set
     */
    public void setRequiresMedicalAttentionDaytime(
            double requiresMedicalAttentionDayTime) {
        this.requiresMedicalAttentionDaytime = requiresMedicalAttentionDayTime;
    }
    
    /**
     * @return the buildingArea
     */
    public double getBuildingArea() {
        return buildingArea;
    }

    /**
     * @param buildingArea the buildingArea to set
     */
    public void setBuildingArea(double buildingArea) {
        this.buildingArea = buildingArea;
    }

    /**
     * @return the buildingValue
     */
    public double getBuildingValue() {
        return buildingValue;
    }

    /**
     * @param buildingValue the buildingValue to set
     */
    public void setBuildingValue(double buildingValue) {
        this.buildingValue = buildingValue;
    }

    /**
     * @return the businessIncomeLoss
     */
    public double getBusinessIncomeLoss() {
        return businessIncomeLoss;
    }

    /**
     * @param businessIncomeLoss the businessIncomeLoss to set
     */
    public void setBusinessIncomeLoss(double businessIncomeLoss) {
        this.businessIncomeLoss = businessIncomeLoss;
    }

    /**
     * @return the contentsLoss
     */
    public double getContentsLoss() {
        return contentsLoss;
    }

    /**
     * @param contentsLoss the contentsLoss to set
     */
    public void setContentsLoss(double contentsLoss) {
        this.contentsLoss = contentsLoss;
    }

    /**
     * @return the contentsValue
     */
    public double getContentsValue() {
        return contentsValue;
    }

    /**
     * @param contentsValue the contentsValue to set
     */
    public void setContentsValue(double contentsValue) {
        this.contentsValue = contentsValue;
    }

    /**
     * @return the daytimeOccupants
     */
    public double getDaytimeOccupants() {
        return daytimeOccupants;
    }

    /**
     * @param daytimeOccupants the daytimeOccupants to set
     */
    public void setDaytimeOccupants(double daytimeOccupants) {
        this.daytimeOccupants = daytimeOccupants;
    }

    /**
     * @return the deathsNighttime
     */
    public double getDeathsNighttime() {
        return deathsNighttime;
    }

    /**
     * @param deathsNighttime the deathsNighttime to set
     */
    public void setDeathsNighttime(double deathsNighttime) {
        this.deathsNighttime = deathsNighttime;
    }

    /**
     * @return the lifeThreateningInjuriesNighttime
     */
    public double getLifeThreateningInjuriesNighttime() {
        return lifeThreateningInjuriesNighttime;
    }

    /**
     * @param lifeThreateningInjuriesNighttime the lifeThreateningInjuriesNighttime to set
     */
    public void setLifeThreateningInjuriesNighttime(
            double lifeThreateningInjuriesNighttime) {
        this.lifeThreateningInjuriesNighttime = lifeThreateningInjuriesNighttime;
    }

    /**
     * @return the nighttimeOccupants
     */
    public double getNighttimeOccupants() {
        return nighttimeOccupants;
    }

    /**
     * @param nighttimeOccupants the nighttimeOccupants to set
     */
    public void setNighttimeOccupants(double nighttimeOccupants) {
        this.nighttimeOccupants = nighttimeOccupants;
    }

    /**
     * @return the nonStructuralLoss
     */
    public double getNonStructuralLoss() {
        return nonStructuralLoss;
    }

    /**
     * @param nonStructuralLoss the nonStructuralLoss to set
     */
    public void setNonStructuralLoss(double nonStructuralLoss) {
        this.nonStructuralLoss = nonStructuralLoss;
    }

    /**
     * @return the nonStructuralPercentDamageComplete
     */
    public double getNonStructuralPercentDamageComplete() {
        return nonStructuralPercentDamageComplete;
    }

    /**
     * @param nonStructuralPercentDamageComplete the nonStructuralPercentDamageComplete to set
     */
    public void setNonStructuralPercentDamageComplete(
            double nonStructuralPercentDamageComplete) {
        this.nonStructuralPercentDamageComplete = nonStructuralPercentDamageComplete;
    }

    /**
     * @return the nonStructuralPercentDamageExtensive
     */
    public double getNonStructuralPercentDamageExtensive() {
        return nonStructuralPercentDamageExtensive;
    }

    /**
     * @param nonStructuralPercentDamageExtensive the nonStructuralPercentDamageExtensive to set
     */
    public void setNonStructuralPercentDamageExtensive(
            double nonStructuralPercentDamageExtensive) {
        this.nonStructuralPercentDamageExtensive = nonStructuralPercentDamageExtensive;
    }

    /**
     * @return the nonStructuralPercentDamageModerate
     */
    public double getNonStructuralPercentDamageModerate() {
        return nonStructuralPercentDamageModerate;
    }

    /**
     * @param nonStructuralPercentDamageModerate the nonStructuralPercentDamageModerate to set
     */
    public void setNonStructuralPercentDamageModerate(
            double nonStructuralPercentDamageModerate) {
        this.nonStructuralPercentDamageModerate = nonStructuralPercentDamageModerate;
    }

    /**
     * @return the nonStructuralPercentDamageNone
     */
    public double getNonStructuralPercentDamageNone() {
        return nonStructuralPercentDamageNone;
    }

    /**
     * @param nonStructuralPercentDamageNone the nonStructuralPercentDamageNone to set
     */
    public void setNonStructuralPercentDamageNone(
            double nonStructuralPercentDamageNone) {
        this.nonStructuralPercentDamageNone = nonStructuralPercentDamageNone;
    }

    /**
     * @return the nonStructuralPercentDamageSlight
     */
    public double getNonStructuralPercentDamageSlight() {
        return nonStructuralPercentDamageSlight;
    }

    /**
     * @param nonStructuralPercentDamageSlight the nonStructuralPercentDamageSlight to set
     */
    public void setNonStructuralPercentDamageSlight(
            double nonStructuralPercentDamageSlight) {
        this.nonStructuralPercentDamageSlight = nonStructuralPercentDamageSlight;
    }

    /**
     * @return the relocationCosts
     */
    public double getRelocationCosts() {
        return relocationCosts;
    }

    /**
     * @param relocationCosts the relocationCosts to set
     */
    public void setRelocationCosts(double relocationCosts) {
        this.relocationCosts = relocationCosts;
    }

    /**
     * @return the rentalCosts
     */
    public double getRentalCosts() {
        return rentalCosts;
    }

    /**
     * @param rentalCosts the rentalCosts to set
     */
    public void setRentalCosts(double rentalCosts) {
        this.rentalCosts = rentalCosts;
    }

    /**
     * @return the requiresHospitalizationNighttime
     */
    public double getRequiresHospitalizationNighttime() {
        return requiresHospitalizationNighttime;
    }

    /**
     * @param requiresHospitalizationNighttime the requiresHospitalizationNighttime to set
     */
    public void setRequiresHospitalizationNighttime(
            double requiresHospitalizationNighttime) {
        this.requiresHospitalizationNighttime = requiresHospitalizationNighttime;
    }

    /**
     * @return the requiresMedicalAttentionNighttime
     */
    public double getRequiresMedicalAttentionNighttime() {
        return requiresMedicalAttentionNighttime;
    }

    /**
     * @param requiresMedicalAttentionNighttime the requiresMedicalAttentionNighttime to set
     */
    public void setRequiresMedicalAttentionNighttime(
            double requiresMedicalAttentionNighttime) {
        this.requiresMedicalAttentionNighttime = requiresMedicalAttentionNighttime;
    }

    /**
     * @return the structuralLoss
     */
    public double getStructuralLoss() {
        return structuralLoss;
    }

    /**
     * @param structuralLoss the structuralLoss to set
     */
    public void setStructuralLoss(double structuralLoss) {
        this.structuralLoss = structuralLoss;
    }

    /**
     * @return the structuralPercentDamageComplete
     */
    public double getStructuralPercentDamageComplete() {
        return structuralPercentDamageComplete;
    }

    /**
     * @param structuralPercentDamageComplete the structuralPercentDamageComplete to set
     */
    public void setStructuralPercentDamageComplete(
            double structuralPercentDamageComplete) {
        this.structuralPercentDamageComplete = structuralPercentDamageComplete;
    }

    /**
     * @return the structuralPercentDamageExtensive
     */
    public double getStructuralPercentDamageExtensive() {
        return structuralPercentDamageExtensive;
    }

    /**
     * @param structuralPercentDamageExtensive the structuralPercentDamageExtensive to set
     */
    public void setStructuralPercentDamageExtensive(
            double structuralPercentDamageExtensive) {
        this.structuralPercentDamageExtensive = structuralPercentDamageExtensive;
    }

    /**
     * @return the structuralPercentDamageModerate
     */
    public double getStructuralPercentDamageModerate() {
        return structuralPercentDamageModerate;
    }

    /**
     * @param structuralPercentDamageModerate the structuralPercentDamageModerate to set
     */
    public void setStructuralPercentDamageModerate(
            double structuralPercentDamageModerate) {
        this.structuralPercentDamageModerate = structuralPercentDamageModerate;
    }

    /**
     * @return the structuralPercentDamageNone
     */
    public double getStructuralPercentDamageNone() {
        return structuralPercentDamageNone;
    }

    /**
     * @param structuralPercentDamageNone the structuralPercentDamageNone to set
     */
    public void setStructuralPercentDamageNone(double structuralPercentDamageNone) {
        this.structuralPercentDamageNone = structuralPercentDamageNone;
    }

    /**
     * @return the structuralPercentDamageSlight
     */
    public double getStructuralPercentDamageSlight() {
        return structuralPercentDamageSlight;
    }

    /**
     * @param structuralPercentDamageSlight the structuralPercentDamageSlight to set
     */
    public void setStructuralPercentDamageSlight(
            double structuralPercentDamageSlight) {
        this.structuralPercentDamageSlight = structuralPercentDamageSlight;
    }

    /**
     * @return the totalBuildingLoss
     */
    public double getTotalBuildingLoss() {
        return totalBuildingLoss;
    }

    /**
     * @param totalBuildingLoss the totalBuildingLoss to set
     */
    public void setTotalBuildingLoss(double totalBuildingLoss) {
        this.totalBuildingLoss = totalBuildingLoss;
    }

    /**
     * @return the totalEconomicLoss
     */
    public double getTotalEconomicLoss() {
        return totalEconomicLoss;
    }

    /**
     * @param totalEconomicLoss the totalEconomicLoss to set
     */
    public void setTotalEconomicLoss(double totalEconomicLoss) {
        this.totalEconomicLoss = totalEconomicLoss;
    }

    /**
     * @return the wagesLoss
     */
    public double getWagesLoss() {
        return wagesLoss;
    }

    /**
     * @param wagesLoss the wagesLoss to set
     */
    public void setWagesLoss(double wagesLosss) {
        this.wagesLoss = wagesLosss;
    }

    /**
     * @return the wagesPaid
     */
    public double getWagesPaid() {
        return wagesPaid;
    }

    /**
     * @param wagesPaid the wagesPaid to set
     */
    public void setWagesPaid(double wagesPaid) {
        this.wagesPaid = wagesPaid;
    }

    /**
     * @return the businessIncome
     */
    public double getBusinessIncome() {
        return businessIncome;
    }

    /**
     * @param businessIncome the businessIncome to set
     */
    public void setBusinessIncome(double businessIncome) {
        this.businessIncome = businessIncome;
    }

    /**
     * @return the businessInterruption
     */
    public double getBusinessInterruption() {
        return businessInterruption;
    }

    /**
     * @param businessInterruption the businessInterruption to set
     */
    public void setBusinessInterruption(double businessInterruption) {
        this.businessInterruption = businessInterruption;
    }

    public void setBusinessRelatedLoss(double businessRelatedLoss) {
		this.businessRelatedLoss = businessRelatedLoss;
	}

	public double getBusinessRelatedLoss() {
		return businessRelatedLoss;
	}

	public String toString()
    {
        String str = "";
        str += "[aebm-results";
        str += "[id="+this.id+"]";
        str += "["+this.getNumber()+"]";
        
        str += "[daytime-requires-medicalattention="+this.getRequiresMedicalAttentionDaytime()+"]";
        str += "[daytime-requires-hospitalization="+this.getRequiresHospitalizationDaytime()+"]";
        str += "[daytime-lifethreatening-injuries="+this.getLifeThreateningInjuriesDaytime()+"]";
        str += "[daytime-deaths="+this.getDeathsDaytime()+"]";
        
        str += "[nighttime-requires-medicalattention="+this.getRequiresMedicalAttentionNighttime()+"]";
        str += "[nighttime-requires-hospitalization="+this.getRequiresHospitalizationNighttime()+"]";
        str += "[nighttime-lifethreatening-injuries="+this.getLifeThreateningInjuriesNighttime()+"]";
        str += "[nighttime-deaths="+this.getDeathsNighttime()+"]";
        
        str += "[building-area="+this.getBuildingArea()+"]";
        
        str += "[building-value="+this.getBuildingValue()+"]";
        str += "[business-income-loss="+this.getBusinessIncomeLoss()+"]";
        
        str += "[contents-loss="+this.getContentsLoss()+"]";
        str += "[contents-value="+this.getContentsValue()+"]";
        
        str += "[occupants-daytime="+this.getDaytimeOccupants()+"]";
        str += "[occupants-nighttime="+this.getNighttimeOccupants()+"]";
        
        str += "[nonstructural-loss="+this.getNonStructuralLoss()+"]";
        str += "[nonstructural-complete="+this.getNonStructuralPercentDamageComplete()+"]";
        str += "[nonstructural-extreme="+this.getNonStructuralPercentDamageExtensive()+"]";
        str += "[nonstructural-moderate="+this.getNonStructuralPercentDamageModerate()+"]";
        str += "[nonstructural-slight="+this.getNonStructuralPercentDamageSlight()+"]";
        str += "[nonstructural-none="+this.getNonStructuralPercentDamageNone()+"]";
        
        str += "[structural-loss="+this.getStructuralLoss()+"]";
        str += "[structural-complete="+this.getStructuralPercentDamageComplete()+"]";
        str += "[structural-extreme="+this.getStructuralPercentDamageExtensive()+"]";
        str += "[structural-moderate="+this.getStructuralPercentDamageModerate()+"]";
        str += "[structural-none="+this.getStructuralPercentDamageNone()+"]";
        str += "[structural-slight="+this.getStructuralPercentDamageSlight()+"]";
        
        
        str += "[relocation-costs"+this.getRelocationCosts()+"]";
        str += "[rental-costs"+this.getRentalCosts()+"]";
        str += "[total-building-loss"+this.getTotalBuildingLoss()+"]";
        str += "[total-economic-loss"+this.getTotalEconomicLoss()+"]";
        str += "[wages-loss"+this.getWagesLoss()+"]";
        str += "[wages-paid"+this.getWagesPaid()+"]";
        
        str += "]";
        return str;
    }

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

}
